<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.7"/>
<title>Catharsis.NET.Repository: Catharsis.Repository.EFModelRepository&lt; ENTITY &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Catharsis.NET.Repository
   &#160;<span id="projectnumber">1.6.5</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Properties</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Catharsis.Repository.EFModelRepository&lt; ENTITY &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p> 
 <a href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#details">More...</a></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.png" usemap="#Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;_map" alt=""/>
  <map id="Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;_map" name="Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;_map">
<area href="class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4.html" alt="Catharsis.Repository.RepositoryBase&lt; ENTITY &gt;" shape="rect" coords="160,112,471,136"/>
<area href="interface_catharsis_1_1_repository_1_1_i_repository_3_01_e_n_t_i_t_y_01_4.html" alt="Catharsis.Repository.IRepository&lt; ENTITY &gt;" shape="rect" coords="160,56,471,80"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a835f018cec34a6390e4f0691f8ccfa1f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a835f018cec34a6390e4f0691f8ccfa1f">EFModelRepository</a> (<a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#abb229966137f52249eddfc26f32df52c">ObjectContext</a> context)</td></tr>
<tr class="separator:a835f018cec34a6390e4f0691f8ccfa1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d63aa711ca7abe639c59dfa6a997c22"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a1d63aa711ca7abe639c59dfa6a997c22">EFModelRepository</a> (string connection)</td></tr>
<tr class="separator:a1d63aa711ca7abe639c59dfa6a997c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bb156e476ee561865813eb74524c6d0"><td class="memItemLeft" align="right" valign="top">override IRepository&lt; ENTITY &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a9bb156e476ee561865813eb74524c6d0">Commit</a> ()</td></tr>
<tr class="separator:a9bb156e476ee561865813eb74524c6d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf13d8b424c810366aa01f74d61bc714"><td class="memItemLeft" align="right" valign="top">override IRepository&lt; ENTITY &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#acf13d8b424c810366aa01f74d61bc714">Delete</a> (ENTITY entity)</td></tr>
<tr class="separator:acf13d8b424c810366aa01f74d61bc714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeef19caf5479080e42e9e919c758bf55"><td class="memItemLeft" align="right" valign="top">override IRepository&lt; ENTITY &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#aeef19caf5479080e42e9e919c758bf55">DeleteAll</a> ()</td></tr>
<tr class="separator:aeef19caf5479080e42e9e919c758bf55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75d556ef14a0bec6aee4f4a3d7fd1162"><td class="memItemLeft" align="right" valign="top">override IEnumerator&lt; ENTITY &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a75d556ef14a0bec6aee4f4a3d7fd1162">GetEnumerator</a> ()</td></tr>
<tr class="separator:a75d556ef14a0bec6aee4f4a3d7fd1162"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e3deaa3790c7529f029eea9cff15cf0"><td class="memItemLeft" align="right" valign="top">override IRepository&lt; ENTITY &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a7e3deaa3790c7529f029eea9cff15cf0">Persist</a> (ENTITY entity)</td></tr>
<tr class="separator:a7e3deaa3790c7529f029eea9cff15cf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a339925fc0130ac630083406c8c7453ca"><td class="memItemLeft" align="right" valign="top">override IRepository&lt; ENTITY &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a339925fc0130ac630083406c8c7453ca">Refresh</a> (ENTITY entity)</td></tr>
<tr class="separator:a339925fc0130ac630083406c8c7453ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af44fdef20f196733264db5f7e5750b6c"><td class="memItemLeft" align="right" valign="top">override <a class="el" href="interface_catharsis_1_1_repository_1_1_i_transaction.html">ITransaction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#af44fdef20f196733264db5f7e5750b6c">Transaction</a> (IsolationLevel?isolation=null)</td></tr>
<tr class="separator:af44fdef20f196733264db5f7e5750b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4.html">Catharsis.Repository.RepositoryBase&lt; ENTITY &gt;</a></td></tr>
<tr class="memitem:af74d1d48bbb8630b15d4a4e314afe5d1 inherit pub_methods_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af74d1d48bbb8630b15d4a4e314afe5d1"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Dispose</b> ()</td></tr>
<tr class="separator:af74d1d48bbb8630b15d4a4e314afe5d1 inherit pub_methods_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ab1a7c0f4ee043ca4d5f6f91a124e38c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1a7c0f4ee043ca4d5f6f91a124e38c7"></a>
override void&#160;</td><td class="memItemRight" valign="bottom"><b>OnDisposing</b> ()</td></tr>
<tr class="separator:ab1a7c0f4ee043ca4d5f6f91a124e38c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:aed0bb8cfd927ded7edd4e555bdb9a153"><td class="memItemLeft" align="right" valign="top">override Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#aed0bb8cfd927ded7edd4e555bdb9a153">ElementType</a><code> [get]</code></td></tr>
<tr class="separator:aed0bb8cfd927ded7edd4e555bdb9a153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a435bc09b596c68ea4c69e636097a505b"><td class="memItemLeft" align="right" valign="top">override Expression&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a435bc09b596c68ea4c69e636097a505b">Expression</a><code> [get]</code></td></tr>
<tr class="separator:a435bc09b596c68ea4c69e636097a505b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb229966137f52249eddfc26f32df52c"><td class="memItemLeft" align="right" valign="top">ObjectContext&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#abb229966137f52249eddfc26f32df52c">ObjectContext</a><code> [get]</code></td></tr>
<tr class="separator:abb229966137f52249eddfc26f32df52c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bfcc7ee8053b787421c7df5f5c2d43f"><td class="memItemLeft" align="right" valign="top">override IQueryProvider&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a6bfcc7ee8053b787421c7df5f5c2d43f">Provider</a><code> [get]</code></td></tr>
<tr class="separator:a6bfcc7ee8053b787421c7df5f5c2d43f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4"><td colspan="2" onclick="javascript:toggleInherit('properties_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4.html">Catharsis.Repository.RepositoryBase&lt; ENTITY &gt;</a></td></tr>
<tr class="memitem:a335f6b7de8a6c26070a4a65b41094264 inherit properties_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a335f6b7de8a6c26070a4a65b41094264"></a>
abstract Type&#160;</td><td class="memItemRight" valign="bottom"><b>ElementType</b><code> [get]</code></td></tr>
<tr class="separator:a335f6b7de8a6c26070a4a65b41094264 inherit properties_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78c503b4ee6083f60437d87da7bc1690 inherit properties_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78c503b4ee6083f60437d87da7bc1690"></a>
abstract Expression&#160;</td><td class="memItemRight" valign="bottom"><b>Expression</b><code> [get]</code></td></tr>
<tr class="separator:a78c503b4ee6083f60437d87da7bc1690 inherit properties_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7148a9019241a98d16ae6ef41f4073d1 inherit properties_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7148a9019241a98d16ae6ef41f4073d1"></a>
abstract IQueryProvider&#160;</td><td class="memItemRight" valign="bottom"><b>Provider</b><code> [get]</code></td></tr>
<tr class="separator:a7148a9019241a98d16ae6ef41f4073d1 inherit properties_class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Data repository which is based on Microsoft Entity Framework ORM (Database-First approach).</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">ENTITY</td><td>Type of mapped business entities.</td></tr>
  </table>
  </dd>
</dl>
<p>This repository implementation is not thread-safe.</p>
<div class="typeconstraint">
<dl><dt><b>Type Constraints</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em>ENTITY</em></td><td>&#160;:</td><td valign="top"><em>class</em></td><td>&#160;</td></tr>
</table>
</dl>
</div>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a835f018cec34a6390e4f0691f8ccfa1f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.EFModelRepository </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#abb229966137f52249eddfc26f32df52c">ObjectContext</a>&#160;</td>
          <td class="paramname"><em>context</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Creates new instance of Entity Framework ORM repository that works with mapped entities of <em>ENTITY</em>  type.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>Shared <a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#abb229966137f52249eddfc26f32df52c">ObjectContext</a> instance, used for operations. Its lifecycle must be controlled by external code.</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">ArgumentNullException</td><td>If <em>context</em>  is a <code>null</code> reference.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1d63aa711ca7abe639c59dfa6a997c22"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.EFModelRepository </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>connection</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Creates new instance of Entity Framework ORM repository that works with mapped entities of <em>ENTITY</em>  type.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">connection</td><td>Connection string, used for internal instantiation of database IDbConnection object. Proper closing and life cycle management of created IDbConnection object will be performed automatically.</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">ArgumentNullException</td><td>If <em>connection</em>  is a <code>null</code> reference.</td></tr>
    <tr><td class="paramname">ArgumentException</td><td>If <em>connection</em>  is string.Empty string.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9bb156e476ee561865813eb74524c6d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override IRepository&lt;ENTITY&gt; Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.Commit </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Saves all non-persisted changes to the underlying data storage facility by persisting modified entities and deleting those which have been marked as deleted.</p>
<dl class="section return"><dt>Returns</dt><dd>Back reference to the current repository.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>System.Data.Entity.Core.Objects.ObjectContext.SaveChanges()</dd></dl>

<p>Implements <a class="el" href="class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4.html#a600c8a2b24d359ba3ace3fbecee838a3">Catharsis.Repository.RepositoryBase&lt; ENTITY &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="acf13d8b424c810366aa01f74d61bc714"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override IRepository&lt;ENTITY&gt; Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.Delete </td>
          <td>(</td>
          <td class="paramtype">ENTITY&#160;</td>
          <td class="paramname"><em>entity</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Marks specified business entity as deleted. Actual deletion is performed when either <a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a9bb156e476ee561865813eb74524c6d0">Commit()</a> method is called or this call is made inside a transaction.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">entity</td><td>Business entity to be deleted.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Back reference to the current repository.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">ArgumentNullException</td><td>If <em>entity</em>  is a <code>null</code> reference.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#aeef19caf5479080e42e9e919c758bf55">DeleteAll()</a>, IObjectSet{ENTITY}.DeleteObject(ENTITY)</dd></dl>

<p>Implements <a class="el" href="class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4.html#a27dc63a99c82d51ee45f9a5527b6cb85">Catharsis.Repository.RepositoryBase&lt; ENTITY &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="aeef19caf5479080e42e9e919c758bf55"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override IRepository&lt;ENTITY&gt; Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.DeleteAll </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Marks all entities of <em>ENTITY</em>  type as deleted. Actual deletion is performed when either <a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a9bb156e476ee561865813eb74524c6d0">Commit()</a> method is called or this call is made inside a transaction.</p>
<dl class="section return"><dt>Returns</dt><dd>Back reference to the current repository.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#acf13d8b424c810366aa01f74d61bc714">Delete(ENTITY)</a></dd></dl>
<p>Current implementation does not support this operation, always throwing NotSupportedException.</p>

<p>Implements <a class="el" href="class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4.html#ad7c922ec156242e78816b2420ec1dd78">Catharsis.Repository.RepositoryBase&lt; ENTITY &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a75d556ef14a0bec6aee4f4a3d7fd1162"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override IEnumerator&lt;ENTITY&gt; Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.GetEnumerator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns enumerator to iterate through entities of <em>ENTITY</em>  type in the underlying data storage.</p>
<dl class="section return"><dt>Returns</dt><dd>Enumerator for iteration through repository's data.</dd></dl>

<p>Implements <a class="el" href="class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4.html">Catharsis.Repository.RepositoryBase&lt; ENTITY &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a7e3deaa3790c7529f029eea9cff15cf0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override IRepository&lt;ENTITY&gt; Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.Persist </td>
          <td>(</td>
          <td class="paramtype">ENTITY&#160;</td>
          <td class="paramname"><em>entity</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Persists state of specified entity in the underlying data storage. Either a new entity will be created, or a state of the already existing one will be updated when either <a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#a9bb156e476ee561865813eb74524c6d0">Commit()</a> method is called or this call is made inside a transaction.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">entity</td><td>Entity to be added/updated.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Back reference to the current repository.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">ArgumentNullException</td><td>If <em>entity</em>  is a <code>null</code> reference.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>IObjectSet{ENTITY}.AddObject(ENTITY)</dd></dl>

<p>Implements <a class="el" href="class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4.html#ab9a3194c915ec8c26f0f0eecb1e790ab">Catharsis.Repository.RepositoryBase&lt; ENTITY &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a339925fc0130ac630083406c8c7453ca"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override IRepository&lt;ENTITY&gt; Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.Refresh </td>
          <td>(</td>
          <td class="paramtype">ENTITY&#160;</td>
          <td class="paramname"><em>entity</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Restores original state of modified entity from values in the underlying data storage. Local changes, which were made to the non-persisted <em>entity</em> , will be lost.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">entity</td><td>Entity, whose state is to be restored.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Back reference to the current repository.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">ArgumentNullException</td><td>If <em>entity</em>  is a <code>null</code> reference.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>System.Data.Entity.Core.Objects.ObjectContext.Refresh(RefreshMode, object)</dd></dl>

<p>Implements <a class="el" href="class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4.html#ad9f0a56b0e24ed3745c786ac990d10d8">Catharsis.Repository.RepositoryBase&lt; ENTITY &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="af44fdef20f196733264db5f7e5750b6c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override <a class="el" href="interface_catharsis_1_1_repository_1_1_i_transaction.html">ITransaction</a> Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.Transaction </td>
          <td>(</td>
          <td class="paramtype">IsolationLevel?&#160;</td>
          <td class="paramname"><em>isolation</em> = <code>null</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Wraps a set of operations over repository inside an atomic transaction, making it a single unit-of-work block.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">isolation</td><td>Transaction isolation level. If not specified, default isolation level for underlying data storage will be used.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Initialized and started transaction. When ITransaction.Dispose() method is called, transaction commit is performed.</dd></dl>

<p>Implements <a class="el" href="class_catharsis_1_1_repository_1_1_repository_base_3_01_e_n_t_i_t_y_01_4.html#a09c28b8e19623474c6793c4391b58e32">Catharsis.Repository.RepositoryBase&lt; ENTITY &gt;</a>.</p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="aed0bb8cfd927ded7edd4e555bdb9a153"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override Type Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.ElementType</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Implementation of IQueryable{ENTITY}.ElementType property.</p>

</div>
</div>
<a class="anchor" id="a435bc09b596c68ea4c69e636097a505b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override Expression Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.Expression</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Implementation of IQueryable{ENTITY}.Expression property.</p>

</div>
</div>
<a class="anchor" id="abb229966137f52249eddfc26f32df52c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ObjectContext Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.ObjectContext</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Allows direct access to Entity Framework <a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html#abb229966137f52249eddfc26f32df52c">ObjectContext</a> instance.</p>

</div>
</div>
<a class="anchor" id="a6bfcc7ee8053b787421c7df5f5c2d43f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override IQueryProvider Catharsis.Repository.EFModelRepository&lt; ENTITY &gt;.Provider</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Implementation of IQueryable{ENTITY}.Provider property.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_catharsis.html">Catharsis</a></li><li class="navelem"><a class="el" href="namespace_catharsis_1_1_repository.html">Repository</a></li><li class="navelem"><a class="el" href="class_catharsis_1_1_repository_1_1_e_f_model_repository_3_01_e_n_t_i_t_y_01_4.html">EFModelRepository< ENTITY ></a></li>
    <li class="footer">Generated on Wed Aug 6 2014 01:07:50 for Catharsis.NET.Repository by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.7 </li>
  </ul>
</div>
</body>
</html>
